﻿<#  多行注释  这些功能可以直接在这个界面下 按下 Ctrl + J  选取 Cmdlet(高级功能) 或者 Cmdlet(高级功能) --完成  即可

  #使用CmdletBinding修饰param
 # 这将在使用 Get-Help .\DynaimcParam.ps1 时 ;在返回值后面加上 CommonParameters ;I表示接受一个通用参数 比如WhatIf
  #另外还可以

 #> 

#调用时候需要这样 : . .\DynaimcParam.ps1  
# MyFunction  3  4
# 当你运行脚本时候 ; 通常会创建一个新的堆栈 ; 在其中保存所有的变量
#当你退出或返回时,堆栈消失 ,一切内容都将被清除
#当你再某个元素前加上 . 时,它会运行,而不会创建新的堆栈,只会在当前的堆栈中运行
#出现的任何新变量或创建任何元素时, 都会在这里创建堆栈
#当你退出时; 并不会删除这些内容
#这在UNIX中称为 "dot sourcing"
#  MyFunction 3 5  -OutVariable  a   ---->表示将函数执行的结果存到变量$a中

function MyFunction () {
    [CmdletBinding()] 
    param(
        [Parameter(Mandatory = $true, Position = 1 )]         #指定必填              
        [int]$n = 3, #只需要在这里添加参数 ;那么脚本就对应添加一个可选择输入的参数
        [Parameter(Mandatory = $True)]
        [int] $k = 1
    )
    $n * $k * 4
}

